RTX64 Objects

Use RTX64 Objects to view information about RTSS processes and their associated objects, such as events, semaphores, and loaded RTDLLs.

To view RTSS process information:

Type the following in a command prompt from %INSTALL DIR%\IntervalZero\RTX64\bin:

rtssrun RTX64Objects.rtss [/a]

Parameters

/a or /all

Provides information for internal system processes and Windows proxy processes in addition to RTSS processes.

Results

RTX64 Objects lists each type of RTSS object, followed by its memory address in the kernel address space and the process ID. It also lists information specific to each object:

Process — Gives the name or type of process and affinity mask, followed by each thread object owned by that process.

Thread — Provides the priority, affinity mask, current processor the thread is running on, and state of the thread, plus the value of the flag settings which indicate certain thread behaviors. RTX64 assigns a priority value to each thread in the user's process, with values ranging from 0 to 127. Threads that have negative priority numbers belong to system processes. The thread flags have the following assignments:

Value Meaning

0x1

Do not free the thread's stacks

0x2 Thread's stack is not freed

0x4

Thread is terminated

0x8

Thread cannot be resumed

0x10

Interrupt service thread

0x20

Thread has used FPU/MMX/XMM

0x40 Timer service thread
0x80 Shutdown service thread
0x100 TLS initializer/finalizer executing on the thread
0x200 Stack with guard pages

Timer — Provides the clock number, the remaining time, and the timing interval.

Semaphore — Provides the count, max count, and the object name (if there is one).

Mutex — Provides the count, owner, and its object name (if there is one).

Shared memory — Provides the base memory address, the size of the shared memory, and the object name.

RTDLL — Provides the count, address of the owner, and the object name.

Event — Provides the state of the event, whether the event is reset manually or not, and the name of the event.

File — Provides the Windows handle for the file and the filename.

Device PCI slot — Lists the object count.

Return Value

0 (zero) if process succeeds.

If process fails:

Value Error
1 Invalid parameter
2 Can't allocate memory of size N
3 Buffer overflow

Remarks

This utility requires the Subsystem to lock all objects while data is being collected. As a result, you may experience latency within your RTSS application while the utility is in use.

NOTE: For Real-time Proxy Processes, PID indicates the Windows process ID and TID indicates the RTSS proxy thread ID in the RTSS thread ID domain.

Example Output

========== RTX64Objects - 4.5.0 =========
Object(ID)          Address             Information
----------          -------             -----------
		
Process 0xfffff80080ac8c40       *** Internal System Process ***
   Thread(0x00001) 0xfffff800808e94a0  Pri=0xffffffff  Flags=0x0000  Mask=0x00000004  AffinedProcessor=0x02  State=Suspended 
   Thread(0x00002) 0xfffff80080a997e0  Pri=0x00  Flags=0x0000  Mask=0x00000004  AffinedProcessor=0x02  State=WaitInternal
   Thread(0x00003) 0xfffff80080a9b640  Pri=0x00  Flags=0x0000  Mask=0x00000004  AffinedProcessor=0x02  State=WaitInternal
   Thread(0x00004) 0xfffff80080a85280  Pri=0x7f  Flags=0x0000  Mask=0x00000004  AffinedProcessor=0x02  State=WaitInternal

Process(0x00003960) 0xffffe000ada00000  Mask=0x00000004  AffinedProcessor=0x02  *** Real-time Proxy Process ***   
   Thread(0x0002e) 0xffffe000ada08a88  Pri=0x00  Flags=0x0001  Mask=0x00000004  AffinedProcessor=0x02  State=WaitInternal
   Thread(0x0002f) 0xffffe000ace09000  Pri=0x00  Flags=0x0000  Mask=0x00000004  AffinedProcessor=0x02  State=WaitInternal  

Command             "C:\Program Files\IntervalZero\RTX64\bin\RtTCPIP.rtss"
Process(0x000003f9) 0xffffe000ada23000  Mask=0x00000ffc  AffinedProcessor=0x02
   Thread(0x00031) 0xffffe000a5aa8000  Pri=0x00  Flags=0x0021  Mask=0x00000ffc  AffinedProcessor=0x02  State=Waiting
   Thread(0x00032) 0xffffe000ab123000  Pri=0x42  Flags=0x0060  Mask=0x00000ffc  AffinedProcessor=0x02  State=WaitInternal
	Timer 0xffffe000a5a82680  Clock=0x2  Remain=0x0000e86c(us)  Interval=0x000186a0(us)
   Thread(0x00033) 0xffffe000ab51f000  Pri=0x3f  Flags=0x0000  Mask=0x00000ffc  AffinedProcessor=0x02  State=Waiting
   Thread(0x00037) 0xffffe000adde6000  Pri=0x41  Flags=0x0040  Mask=0x00000ffc  AffinedProcessor=0x02  State=WaitInternal
	Timer 0xffffe000aad11610  Clock=0x2  Remain=0x00000064(us)  Interval=0x00000064(us)
   Thread(0x00038) 0xffffe000addf0000  Pri=0x40  Flags=0x0000  Mask=0x00000ffc  AffinedProcessor=0x02  State=Waiting   
   Thread(0x0003b) 0xffffe000addfe000  Pri=0x00  Flags=0x0000  Mask=0x00000ffc  AffinedProcessor=0x02  State=WaitInternal
   Thread(0x0003c) 0xffffe000aded4000  Pri=0x7f  Flags=0x0080  Mask=0x00000ffc  AffinedProcessor=0x02  State=WaitInternal
       Shutdown 0xffffe000add1f080
Process(0x00000001) 0xffffe000add73000  Mask=0x00000004  AffinedProcessor=0x02  *** Real-time Proxy Process ***
   Thread(0x00034) 0xffffe000add7ba88  Pri=0x00  Flags=0x0001  Mask=0x00000004  AffinedProcessor=0x02  State=WaitInternal
   Thread(0x00035) 0xffffe000adbf9000  Pri=0x00  Flags=0x0000  Mask=0x00000004  AffinedProcessor=0x02  State=WaitInternal
   Thread(0x00036) 0xffffe000adbfb000  Pri=0x00  Flags=0x0000  Mask=0x00000004  AffinedProcessor=0x02  State=Waiting  
   Thread(0x00039) 0xffffe000addfa000  Pri=0x00  Flags=0x0000  Mask=0x00000004  AffinedProcessor=0x02  State=WaitInternal
   Thread(0x0003a) 0xffffe000addfc000  Pri=0x00  Flags=0x0000  Mask=0x00000004  AffinedProcessor=0x02  State=WaitInternal
   Thread(0x0003e) 0xffffe000ada1d000  Pri=0x00  Flags=0x0000  Mask=0x00000004  AffinedProcessor=0x02  State=WaitInternal  
   Thread(0x0003f) 0xffffe000ada1f000  Pri=0x00  Flags=0x0000  Mask=0x00000004  AffinedProcessor=0x02  State=WaitInternal
   Thread(0x00040) 0xffffe000ada21000  Pri=0x00  Flags=0x0000  Mask=0x00000004  AffinedProcessor=0x02  State=WaitInternal
   Thread(0x00045) 0xffffe000adfa6000  Pri=0x00  Flags=0x0000  Mask=0x00000004  AffinedProcessor=0x02  State=WaitInternal

Process(0x00004308) 0xffffe000ace36000  Mask=0x00000004  AffinedProcessor=0x02  *** Real-time Proxy Process ***
   Thread(0x00069) 0xffffe000ace3ea88  Pri=0x00  Flags=0x0001  Mask=0x00000004  AffinedProcessor=0x02  State=WaitInternal
   Thread(0x0006a) 0xffffe000a9fca000  Pri=0x00  Flags=0x0000  Mask=0x00000004  AffinedProcessor=0x02  State=WaitInternal

Command             rtx64objects.rtss  -a
Process(0x0000040b) 0xffffe000ace49000  Mask=0x00000ffc  AffinedProcessor=0x02
   Thread(0x0006b) 0xffffe000aa21a000  Pri=0x00  Flags=0x0001  Mask=0x00000ffc  AffinedProcessor=0x02  State=Ready

Events:
	0xffffe000ab4ac1a0  State=1  ManualReset=0  Name="RTX64TCPIPSTART"
	0xffffe000acfe2010  State=0  ManualReset=0  Name="** UNNAMED **"	
	0xffffe000ab52a7a0  State=1  ManualReset=1  Name="VNIC_UP"
	0xffffe000ab4807a0  State=0  ManualReset=1  Name="VNIC_DOWN"
	0xffffe000ab52d010  State=0  ManualReset=1  Name="VNIC_SHTDN"
	0xffffe000adde2010  State=0  ManualReset=1  Name="VNIC_PENDING_RX"
	0xffffe000adde3010  State=0  ManualReset=1  Name="VNIC_PENDING_TX"
        0xffffe000adde5010  State=0  ManualReset=1  Name="** UNNAMED **"
	0xffffe000adede010  State=0  ManualReset=0  Name="__STACK_ATTACH_EVENT__"
		
Semaphores:
	0xffffe000adb057a0  Count=0x00000000  MaxCount=0x00000001  Name="rtnsem.1"
	0xffffe000adb0e7a0  Count=0x00000000  MaxCount=0x00000001  Name="rtnsem.2"
        0xffffe000adb177a0  Count=0x00000000  MaxCount=0x00000001  Name="rtnsem.3"
	0xffffe000adb207a0  Count=0x00000000  MaxCount=0x00000001  Name="rtnsem.4"
	0xffffe000adb297a0  Count=0x00000000  MaxCount=0x00000001  Name="rtnsem.5"
	0xffffe000adb327a0  Count=0x00000000  MaxCount=0x00000001  Name="rtnsem.6"
	0xffffe000adb3b7a0  Count=0x00000000  MaxCount=0x00000001  Name="rtnsem.7"
	0xffffe000adb447a0  Count=0x00000000  MaxCount=0x00000001  Name="rtnsem.8"
	0xffffe000adb4d7a0  Count=0x00000000  MaxCount=0x00000001  Name="rtnsem.9"
	0xffffe000adb567a0  Count=0x00000000  MaxCount=0x00000001  Name="rtnsem.10"
			
Mutexes:
	0xffffe000adafc780  Count=0x00000000  Owner=0x0000000000000000  Name="** UNNAMED **"
	0xffffe000a5aab010  Count=0x00000000  Owner=0x0000000000000000  Name="** UNNAMED **"
	0xffffe000aa318010  Count=0x00000000  Owner=0x0000000000000000  Name="** UNNAMED **"
	0xffffe000aa25d010  Count=0x00000000  Owner=0x0000000000000000  Name="** UNNAMED **"
	0xffffe000ab0d1010  Count=0x00000000  Owner=0x0000000000000000  Name="** UNNAMED **"
	0xffffe000ab023010  Count=0x00000000  Owner=0x0000000000000000  Name="** UNNAMED **"
	0xffffe000aad99010  Count=0x00000000  Owner=0x0000000000000000  Name="** UNNAMED **"
	0xffffe000a6086010  Count=0x00000000  Owner=0x0000000000000000  Name="** UNNAMED **"
	0xffffe000ab01f010  Count=0x00000000  Owner=0x0000000000000000  Name="** UNNAMED **"
	0xffffe000ab088010  Count=0x00000000  Owner=0x0000000000000000  Name="** UNNAMED **"
	0xffffe000ab0ba010  Count=0x00000000  Owner=0x0000000000000000  Name="** UNNAMED **"
	0xffffe000ab0c6010  Count=0x00000000  Owner=0x0000000000000000  Name="** UNNAMED **"
	0xffffe000ab119010  Count=0x00000000  Owner=0x0000000000000000  Name="** UNNAMED **"
	0xffffe000ab427010  Count=0x00000000  Owner=0x0000000000000000  Name="** UNNAMED **"
	0xffffe000ab42a010  Count=0x00000000  Owner=0x0000000000000000  Name="** UNNAMED **"
	
Shared Memory:
	0xffffe000a5b18c60  BaseMemory=0xffffe000ab4aa000  Size=0x00001000  Name="RTXTCPHEAPSTATUS"
	0xffffe000a5a685b0  BaseMemory=0xffffe000ab4a3000  Size=0x00001000  Name="RTXTCPSTACKCONTROL"
	0xffffe000ab1118d0  BaseMemory=0xffffe000ade00000  Size=0x000bc000  Name="VNIC_SHM"

DLL Process References:
	0xffffe000ab1fd240  Count=0x00000001  Name="RtVirtualNic_1017" 
		
		
============== End RTX64Objects ==============